In recent years, mobile communication services have expanded and increased in popularity, around the world. Many advanced networks offer wireless mobile communication service for voice calls, mobile messaging services (e.g. text and/or multimedia) and data communications. The data services, for example, enable surfing the world wide web via a browser on mobile stations, or receiving multimedia services on the mobile stations.
Often, a user of a mobile station may want to find out a current estimate amount of data usage by the mobile station for various reasons, including the user's concerns for billing purposes. Data is transmitted or received on the mobile station via various logical network interfaces of the mobile station, which allow for an application to transmit and receive packets of data through a socket connection. A socket is one endpoint of a two-way communication link between programs running on two devices over a mobile communication network (e.g., a mobile station and a server on a network). At any given time, there can be several different applications accessing various network interfaces of the mobile stations, creating data traffic between two connected devices. Thus, to determine an amount of data being received from a network element over the mobile communication network, the mobile station monitors the amount of data being received or transmitted via network interfaces and logs information into a special file that is stored in the mobile station.
For example, FIG. 1 shows an existing technique for monitoring data usage by a mobile station running on a Linux operating system. As shown in FIG. 1, an application of the mobile station receives and transmits data by reading from and writing to a socket connection via a network interface of the mobile station, and the mobile station keeps information relating to an amount of data received (e.g., cumulative totals of data received) from the network element by writing the information into a special file of the Linux operating system. That is, the special file contains a list of network interface names used and information relating to current cumulative data usage by the mobile station on a per network interface basis. The existing technique for monitoring data usage retrieves the current cumulative data usage from the special file for processing and presenting the data usage information to the user of the mobile station.
However, this existing technique has limitations and shortcomings. For example, when failures in network or transmission protocols result in retransmission of data, the existing technique for monitoring data usage does not take into account such non-billed data, retransmissions on the network, redundantly counted data, and resets to the cumulative file. Thus, the existing technique tends to provide inaccurate information on real-time (or near actual, billable) data usage by mobile stations and lead to adverse effects for users of the mobile stations.
Hence, further improvement is still possible in a technique for real-time data usage monitoring (or metering) on a mobile station and reconciliation with billable data usage measured by a network.